1
Merancang untuk Fleksibilitas: Antarmuka Tabel
AI020Lesson 4
00:00

Dasar dari sistem yang fleksibel terletak pada definisi kontrak internal yang kaku kontrak atau antarmuka yang harus diikuti objek. Dalam konteks ini, kita mendefinisikan sebuah Antarmuka Tabel di mana setiap objek sel menjamin keberadaan tiga metode khusus: minLebar(), , minTinggi(), dan gambar(lebar, tinggi).

1. Kontrak Antarmuka

Dengan mengandalkan metode-metode ini secara standar, logika tata letak dapat menghitung dimensi baris dan kolom secara keseluruhan tanpa perlu mengetahui tipe data internal dari masing-masing sel. Ini merupakan contoh klasik dari Polimorfisme Berbasis Antarmuka.

2. Implementasi TextCell

Konstruktor TextCell mempersiapkan input mentah dengan membagi string menjadi array per baris. Hal ini mengalihkan kompleksitas dari fase rendering ke fase instansiasi.

this.text = text.split("\n");

3. Menggambar yang Pasti

Konstruktor gambar(lebar, tinggi) metode memastikan bahwa setiap hasil sel dilengkapi secara sempurna menggunakan fungsi bantu repeat() bantuan. Hal ini menjaga pemadanan vertikal dan horizontal tanpa tergantung pada panjang konten.

namaKilimanjarotinggi5895Kolom disesuaikan melalui penghitungan minLebar()

$$\text{Padding} = \text{Lebar} - \text{panjang.baris}$$

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>